package team.se.tms.service;

import team.se.tms.dto.LabelLibDetail;
import team.se.tms.dto.Page;
import team.se.tms.po.LabelLibInfo;

import java.util.List;
/**
 * 标签库业务层
 *
 * @author johnny
 * @date 2018/11/24
 */
public interface LabelLibInfoService {
    /**
     * 添加标签库信息
     *
     * @param labelLibDetail 标签库信息
     * @return String 页面地址
     * @throws Exception 异常
     * @create on 2018/11/24 by johnny
     */
    Boolean saveLabelLib(LabelLibDetail labelLibDetail) throws Exception;
    /**
     * 根据分页查询标签库信息详情列表
     *
     * @param page 分页
     * @return String 页面地址
     * @throws Exception 异常
     * @create on 2018/11/24 by johnny
     */
    List<LabelLibDetail> listAllLabelLibDetails(Page page) throws Exception;
    /**
     * 根据分页查询标签库信息列表
     *
     * @param page 分页
     * @return String 页面地址
     * @throws Exception 异常
     * @create on 2018/11/24 by johnny
     */
    List<LabelLibInfo> listAllLabelLibInfos(Page page) throws Exception;
    /**
     * 修改标签库信息
     *
     * @param labelLibDetail 标签库信息实例
     * @return String 页面地址
     * @throws Exception 异常
     * @create on 2018/12/29 by johnny
     */
    Boolean modifyLabelLib(LabelLibDetail labelLibDetail) throws Exception;
    /**
     * 删除标签库信息
     *
     * @param labelLibId 标签库id
     * @return Boolean 删除结果
     * @throws Exception 异常
     * @create on 2018/11/24 by johnny
     */
    Boolean removeLabelLib(String labelLibId) throws Exception;
    /**
     * 查询被使用的标签
     *
     * @param labelLibId 参数描述
     * @return String 页面地址
     * @throws Exception 异常
     * @create on 2018/11/24 by johnny
     */
    List<String> listUsingLabelIds(String labelLibId) throws Exception;
}
